package com.zhentao.service;

import com.zhentao.dto.DoctorInfoDTO;
import com.zhentao.dto.DoctorLoginDTO;
import com.zhentao.dto.DoctorPasswordChangeDTO;
import com.zhentao.dto.DoctorRegisterDTO;
import com.zhentao.pojo.Doctor;
import com.zhentao.vo.DoctorLoginVO;
import com.zhentao.vo.DoctorProfileVO;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.web.multipart.MultipartFile;

/**
* @author Administrator
* @description 针对表【doctor】的数据库操作Service
* @createDate 2025-09-21 19:08:24
*/
public interface DoctorService extends IService<Doctor> {

    /**
     * 医生登录
     * 
     * @param loginDTO 登录信息
     * @return 登录成功信息
     */
    DoctorLoginVO login(DoctorLoginDTO loginDTO);

    /**
     * 医生注册
     * 
     * @param registerDTO 注册信息
     * @return 注册成功的医生信息
     */
    Doctor register(DoctorRegisterDTO registerDTO);

    /**
     * 更新医生个人信息
     * 
     * @param doctorId 医生ID
     * @param infoDTO 个人信息
     * @return 更新是否成功
     */
    boolean updateProfile(Integer doctorId, DoctorInfoDTO infoDTO);

    /**
     * 获取医生个人资料
     * 
     * @param doctorId 医生ID
     * @return 医生个人资料
     */
    DoctorProfileVO getProfile(Integer doctorId);

    /**
     * 修改医生密码
     * 
     * @param doctorId 医生ID
     * @param passwordChangeDTO 密码修改信息
     * @return 修改是否成功
     */
    boolean changePassword(Integer doctorId, DoctorPasswordChangeDTO passwordChangeDTO);

    /**
     * 上传医生头像
     * 
     * @param doctorId 医生ID
     * @param file 头像文件
     * @return 头像URL
     */
    String uploadAvatar(Integer doctorId, MultipartFile file);

}
